<cfcomponent name="DAO" hint="Package wrapper for components.&nbsp; Sets some useful default values such as datasource and security environment." >


	<!--- Properties --->


	<cfset variables.instance = StructNew() />


	<!--- Accessors --->


	<cffunction name="setSecurityZone" access="public" returntype="void" output="false">
		<cfargument name="securityZone" type="string" required="true" />
		<cfset variables.instance.securityZone = arguments.securityZone />
	</cffunction>
	<cffunction name="getSecurityZone" access="public" returntype="string" output="false">
		<cfreturn variables.instance.securityZone />
	</cffunction>

	<cffunction name="setDataSource" access="public" returntype="void" output="false">
		<cfargument name="dataSource" type="string" required="true" />
		<cfset variables.instance.dataSource = arguments.dataSource />
	</cffunction>
	<cffunction name="getDataSource" access="public" returntype="string" output="false">
		<cfreturn variables.instance.dataSource />
	</cffunction>


	<!--- Public methods --->


	<cffunction name="init" returnType="com.revenea.root.DAO" access="public" output="false" hint="Initializes the DAO, thereby returning an instantiation of it populated with its default properties.  While subclasses will inherit this method, they will use their own setDefaults method to populate their subclass properties.">
		<cfset setDefaults() />
		<cfreturn this />
	</cffunction>

	<!--- Private methods --->


	<cffunction name="setDefaults" access="private">
		<cfscript>
			setSecurityZone("");
			setDataSource("revenea");
		</cfscript>
	</cffunction>


</cfcomponent>